package com.rzcode.coinex.kernel.dao.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.rzcode.coinex.kernel.common.enums.PlatformEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * AppRevision 实体类，用于表示应用版本更新记录。
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "app_revision")
public class AppRevision {

    /**
     * 版本记录的唯一标识符。
     */
    @ApiModelProperty(value = "版本记录ID", example = "1")
    private Long id;

    /**
     * 版本发布的时间戳，自动设置。
     */
    @ApiModelProperty(value = "发布时间", example = "2023-01-01 12:00:00")
    private LocalDateTime publishTime;

    /**
     * 版本更新的备注信息。
     */
    @ApiModelProperty(value = "更新备注", example = "修复了一些已知问题，提升了性能。")
    private String remark;

    /**
     * 应用版本号。
     */
    @ApiModelProperty(value = "版本号", example = "1.0.0")
    private String version;

    /**
     * 下载链接，用于下载新版本的应用。
     */
    @ApiModelProperty(value = "下载链接", example = "https://example.com/download/v1.0.0.apk")
    private String downloadUrl;

    /**
     * 平台类型，如 Android 或 iOS。
     */
    @ApiModelProperty(value = "平台", example = "ANDROID")
    private PlatformEnum platform;
}

